plotly를 활용한 sankey diagram

plotlyggplot2와 같이 그래프, 플롯을 생성할 때 사용하는 패키지로 최근 많이 사용된다. ggplot2는 정적(Static)한 그래프나 플롯을 생성하지만 plotly는 기본적으로 반응형(interactive) 그래프가 그려고 ggplot2에 버금가는 상세 설정이 가능하다는 장점이 있다.

library(plotly)
plot_ly(type = 'sankey',   ##plotly로 생성하는 그래프의 형태 설정
        orientation = 'h', ##방향설정으로 h(orizental)
        node = list(       ## 노드 설정
          label = c(from, to),  ## 노드의 이름 설정
          color = c(rep('red', 3), rep('blue', 5)),  ## 각 노드의 색 설정
          pad = 5,  ## 노드간의 떨어진 거리 설정
          thickness = 30,  ## 노드 상자의 두께 설정'
          ## 노드 상자의 테두리 설정
          line = list(color = 'black', width = 0.5) 
        ),
        ## 노드 링크 정보 설정
        link = list(
          source = c(rep(0, 5), rep(1, 5), rep(2, 5)),
          target = c(rep(3:7, 3)),
        ##  노드 데이터 정보
          value = sankey$학생수
        ), 
        textfont = list(size = 12) ## 노드 이름의 크기 설정
)